This invention is related to a new arbitration mechanism for use in system resource management, such as in modern multiprocessor driven computer or computer-controlled systems where one or more resources must be shared. Allowing unrestricted access to a shared system resource may result in system failure, as the result of data corruption, for example.
A computer network usually comprises multiple computers or processors that communicate, depending on the number of processors in the network, by various mechanisms such as Ethernet or CAN-bus (CSMA/CD), or any asynchronous serial bus employing master/slave arbitration, or a token passing or similar “round robin” protocol. Ethernet is suitable for a large network, but it is inefficient when applied to a small network. In contrast, the flexibility of a serial bus using master/slave arbitration or token passing technology fit the communication needs of a small, lightweight network.
A master/slave system comprises a plurality of processor divided into two groups, one group usually being a single master processor and the other being slave processors. The master processor and slave processors are interconnected by a bus system, typically including a command/data bus and optionally an address/control bus. The slave processors have to constantly wait for permission from the master processor to access their destination; this waiting for the permission slows communication among processors. For the token passing technology, nodes are logically in a ring but are physically connected by a common bus. All tokens are broadcast to every node on the network. Every node on the network has to read the passing tokens to determine if it is a recipient of a message. Only the node having the destination address of a passing token would grab such passing token and act upon the data payload, all other nodes discard the data carried by the token. A node's handling of data from a passing token that is addressed to other nodes wastes time. Additionally, existing arbitration mechanisms for bus mastership are either overly complex or require an active bus concept to be effective.
The present invention proposes a multi-master bus arbitration mechanism that does not need a token passing or similar “round robin” protocol and active bus technology on the network to manage a communication bus to which only limited number of nodes can access. Additionally, the multi-master bus arbitration mechanism can control the number of active nodes, in a multi-node architecture, that can obtain access to the communication bus at any time, and it eliminates all data collisions on the communication bus, while adding minimal complexity to system designs.